/**
 * 思路分析：
 * 
 * 思路：将要复用的 state 和 操作 state 的方法封装到一个组件中
 * 
 * 问题 1： 如何拿到该组件中复用的 state ?
 * 
 * 答： 在使用组件时，添加一个值为 props，这个 props 值是一个函数，通过函数参数来获取 -- 需要组件内部实现
 * 
 * 问题 2： 如何渲染任意的 UI ？
 * 
 * 答： 使用该组件的返回值作为要渲染的 UI 内容 -- 需要组件内部实现
 */